<html>
<head><meta charset="utf-8"><title>Nuanced terminology about roles of crates · project-error-handling · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/index.html">project-error-handling</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html">Nuanced terminology about roles of crates</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="210990892"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210990892" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210990892">(Sep 23 2020 at 11:54)</a>:</h4>
<blockquote>
<p>error defining (?) vs.</p>
</blockquote>
<p>I agree with the sentiment. SNAFU is listed as an error handling crate but I feel that handling has always been the wrong word. It’s a crate that allows you to take an error and produce a new error from it or create an error value out of thin air.</p>



<a name="210992074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210992074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nelson J Morais <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210992074">(Sep 23 2020 at 12:08)</a>:</h4>
<p>I also have the same sentiment regarding the "Reporter" terminology. what is that?! a error formatter for the cli, human readable and pretty printer? it's an output formatter? </p>
<p>for instance if on a service I want to expose an error occurred locally with additional metadata to an external service in a json format, can I call that a reporter?</p>



<a name="210997663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210997663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210997663">(Sep 23 2020 at 12:58)</a>:</h4>
<p>no</p>



<a name="210997726"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210997726" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210997726">(Sep 23 2020 at 12:59)</a>:</h4>
<p>I'd define error reporting as creating human readable representation of errors and their context</p>



<a name="210997765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210997765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210997765">(Sep 23 2020 at 12:59)</a>:</h4>
<p>so all of those things you mentioned would fall under that unbrella except the bit about json because that is still a machine first representation</p>



<a name="210997908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210997908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210997908">(Sep 23 2020 at 13:00)</a>:</h4>
<p>that id call serialization</p>



<a name="210998337"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210998337" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210998337">(Sep 23 2020 at 13:03)</a>:</h4>
<p>It's more an error formatter then. Reporting suggests some mechanism for I/O IMHO.</p>



<a name="210998433"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210998433" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210998433">(Sep 23 2020 at 13:04)</a>:</h4>
<p>But, well, this is maybe too bikesheddy</p>



<a name="210999411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/210999411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#210999411">(Sep 23 2020 at 13:10)</a>:</h4>
<p>One term I toyed with but rejected was "error creation/creating", but that just sounds so bad: "This crate adds errors to your code" <span aria-label="crying cat" class="emoji emoji-1f63f" role="img" title="crying cat">:crying_cat:</span></p>



<a name="211002467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211002467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> teor <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211002467">(Sep 23 2020 at 13:30)</a>:</h4>
<p>"Error creating crate" might also be hard to read or spell</p>



<a name="211002528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211002528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> teor <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211002528">(Sep 23 2020 at 13:31)</a>:</h4>
<p>create crate</p>



<a name="211007995"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211007995" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211007995">(Sep 23 2020 at 14:06)</a>:</h4>
<p>Well, <span class="user-mention" data-user-id="116155">@Jake Goulding</span>, "error defining" doesn't sound too alien.</p>



<a name="211008452"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211008452" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211008452">(Sep 23 2020 at 14:09)</a>:</h4>
<p>Agree.</p>



<a name="211008496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211008496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211008496">(Sep 23 2020 at 14:09)</a>:</h4>
<p>And I'm fine with it if there's a consensus</p>



<a name="211009655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211009655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211009655">(Sep 23 2020 at 14:17)</a>:</h4>
<p>Just in case it suggests some "functions"/ naming, What I found most confusing about error handling was:</p>
<p>1) how to craft/define a set of custom errors (generic ala dyn Error, enum style, Failure, ...)<br>
2) how to add context to them (depending on the chosen strategy, like wrapping, source, ...)<br>
3) how to invoke/raise those errors (wrap in Err, using ? with implicit conversion, map_err, etc)<br>
4) how to intercept to show them to the user (conversions using From, match, ?, ...).</p>
<p>I still have doubts and have to try and see with parts like the context one.</p>



<a name="211009717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211009717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nelson J Morais <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211009717">(Sep 23 2020 at 14:17)</a>:</h4>
<p>by "error defining crate" I should interpret that this crate allows me to structurally define a data type that my app will have nd understand as an error, is that it?</p>



<a name="211009825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211009825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nelson J Morais <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211009825">(Sep 23 2020 at 14:18)</a>:</h4>
<p><span aria-label="eyes" class="emoji emoji-1f440" role="img" title="eyes">:eyes:</span></p>



<a name="211009872"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211009872" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> pachi <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211009872">(Sep 23 2020 at 14:19)</a>:</h4>
<p>I would understand so.</p>



<a name="211010039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211010039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jane Lusby <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211010039">(Sep 23 2020 at 14:20)</a>:</h4>
<p>yes <span class="user-mention" data-user-id="344082">@Nelson J Morais</span></p>



<a name="211014371"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/257204-project-error-handling/topic/Nuanced%20terminology%20about%20roles%20of%20crates/near/211014371" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Nelson J Morais <a href="https://rust-lang.github.io/zulip_archive/stream/257204-project-error-handling/topic/Nuanced.20terminology.20about.20roles.20of.20crates.html#211014371">(Sep 23 2020 at 14:51)</a>:</h4>
<p>OK great. <span aria-label="grinning face with smiling eyes" class="emoji emoji-1f601" role="img" title="grinning face with smiling eyes">:grinning_face_with_smiling_eyes:</span></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>